export default {
    inject: ['rootMenu'],
    computed: {
        indexPath() {
            const path = [this.index];
            let parent = this.$parent;
            while (parent.$options.componentName !== 'ElMenu') {
                if (parent.index) {
                    path.unshift(parent.index);
                }
                parent = parent.$parent;
            }
            return path;
        },
        parentMenu() {
            let parent = this.$parent;
            while (
                parent &&
                ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1
                ) {
                parent = parent.$parent;
            }
            return parent;
        },
        paddingStyle() {
            if (this.rootMenu.mode !== 'vertical') return {};

            let padding = 20;
            let parent = this.$parent;

            if (this.rootMenu.collapse) {
                padding = 20;
            } else {
                while (parent && parent.$options.componentName !== 'ElMenu') {
                    if (parent.$options.componentName === 'ElSubmenu') {
                        padding += 20;
                    }
                    parent = parent.$parent;
                }
            }
            return {paddingLeft: padding + 'px'};
        }
    }
};
